<?php

namespace core;

abstract class Controller
{
    /**
     * 加载模型
     * @param string $modelName 模型名称 (例如 'User')
     * @return Model
     */
    protected function model(string $modelName): Model
    {
        $modelClass = 'app\\model\\' . $modelName;
        if (class_exists($modelClass)) {
            return new $modelClass();
        }
        throw new \Exception("Model not found: {$modelName}");
    }

    /**
     * 加载视图
     * @param string $viewName 视图名称 (例如 'home/index')
     * @param array $data 传递给视图的数据
     */
    protected function view(string $viewName, array $data = []): void
    {
        $view = new View($viewName, $data);
        $view->render();
    }
}